package com.lanchetech.user.service;


import com.lanchetech.bean.request.*;
import com.lanchetech.bean.response.BasePageResp;
import com.lanchetech.bean.response.BaseResp;
import com.lanchetech.bean.response.ResultData;
import com.lanchetech.bean.vo.BlogDetailVO;
import com.lanchetech.bean.vo.BlogVO;
import com.lanchetech.bean.vo.CommonCommentVO;
import com.lanchetech.entity.CommonComment;
import com.lanchetech.entity.TagCategory;
import com.lanchetech.entity.User;

import java.util.List;

public interface BlogService {
    ResultData<BasePageResp<BlogVO>> getBlogPage(BlogPageReq req,User user);

    ResultData<BasePageResp<BlogVO>> getMyBlogPage(BlogPageReq req);

    ResultData<BasePageResp<BlogVO>> getGoodsBlogPage(BlogGoodsPageReq req);

    ResultData<BasePageResp<BlogVO>> getCollectBlogPage(BlogCollectPageReq req);

    ResultData<BlogDetailVO> getBlogDetail(Long id);

    ResultData<BlogDetailVO> getBlogDraft(User user);

    BaseResp editBlogGoods(Long id);

    BaseResp editBlog(BlogReq blog);

    BaseResp deleteBlog(Long id);

    ResultData<List<TagCategory>> getTagCategoryList(Long pid);

    ResultData<List<TagCategory>> getAllTagCategoryList();

    BaseResp editBlogCollect(Long id);

    ResultData<Long> editCommonComment(CommonComment req);

    ResultData<BasePageResp<CommonCommentVO>> getCommonCommentPage(PageReq req);

    BaseResp editCommonCommentGoods(Long id);

    BaseResp deleteCommonComment(Long id);
}
